mybatis返回map类型数据空值字段不显示

您所在的位置:网站首页 myBatis 参数类型为map不起作用 mybatis返回map类型数据空值字段不显示

mybatis返回map类型数据空值字段不显示

2024-07-12 00:22| 来源: 网络整理| 查看: 265

业务需求背景

为另一个系统提供接口查询数据,当数据为空时,该字段就直接不显示了,不符合对方的参数要求,现需要将所有字段进行展示。

解决方法一

对具体字段进行判断,为空则给默认值显示

(CASE WHEN a.end_time is null then '' ELSE a.end_time END) as "endDate"

也可以使用ifnull函数进行判断

IFNULL(a.end_time,'') as "endDate" 解决方法二 修改Mybatis配置文件,在mybatis-config.xml文件中启用callSettersOnNulls组件 如果是使用的springMVC+Mybatis的架构的话,需要在spring-mybatis.xml文件中添加指定的Mybatis的配置文件

spring-mybatis.xml

解决方法三

查询结果类型,使用实体类接收,而不是map接收;(我没有使用这种方法,因为我的需求返回值类型为List,这样的返回类型无需二次处理,直接返回给调用者就行了。

总结对比

如果需要在值为空时,自定义显示值,显然是使用第一种方式比较好,但是缺点就是需要对每个修改的字段都做这样的判断;相比于方式一,方式二就更具有全局性,但是方式二不支持自定义的显示值,只会给为空的字段赋值为null;方式三的接收类型为实体类,方便于对象查询,而且字段为空时,可以进行自定义,需要在resultMap中,指定typeHandler即可。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3